package com.TanNgee.demo1;

import java.util.List;

/**
 * @author 陈毅
 * @create 2022/4/25 17:14
 * 需求：编写一个线程类，继承 Thread类，设计一个属性，用于保存线程的名字
 * 设计一个集合，用于保存所有的任务
 */
public class MyWorker extends Thread {
    private List<Runnable> tasks; //所有的任务

    // 利用构造方法，给成员变量赋值

    public MyWorker(String name, List<Runnable> tasks) {
        super(name);
        this.tasks = tasks;
    }

    @Override
    public void run() {
        // 判断集合中是否有任务，只要有，就一直执行
        while (tasks.size() > 0) {
            final Runnable r = tasks.remove(0);
            r.run();
        }
    }

    @Override
    public String toString() {
        return "MyWorker{" +
                "tasks=" + tasks +
                '}';
    }
}
